package com.yzr.common.util;

import com.yzr.common.exception.BaseException;
import org.apache.poi.ss.formula.functions.T;

import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @description 集合工具类
 * @author: yx-0173
 * @date: 2021-05-27 10:56
 **/
public class CollectionUtil {

    /**
     * 对list集合进行倒叙排序
     *
     * @param list list集合
     */
    public static List<? extends T> flashback(List<T> list) throws BaseException {
        ParamCheck.getListCheck(list, "This collection cannot be empty");
        Collections.reverse(list);
        return list;
    }

    /**
     * 对list集合进行顺序排序
     *
     * @param list list集合
     */
    public static List<? extends T> sort(List<T> list) throws BaseException {
        ParamCheck.getListCheck(list, "This collection cannot be empty");
        return list.stream().sorted().collect(Collectors.toList());
    }

    /**
     * 比较两个集合的元素是否重复，不重复为true 反则false
     *
     * @param c1 集合1
     * @param c2 集合2
     * @return 是否相交
     */
    public static boolean compare(Collection<?> c1, Collection<?> c2) {
        return Collections.disjoint(c1, c2);
    }

    public static void main(String[] args) {


    }
}
